﻿using System;
using System.Collections;
using System.Linq;
using System.Text;
using System.Data;
using NGI_BaseDatos;
using NGI_Entidades;
using NGI_Auxiliares;

namespace NGI_Logica
{
    public class Pagos
    {
        /*public static ArrayList CargarActivos()
        {
            ArrayList ListadoCategoriasIVA;

            DataTable dt = BaseDatos.Traer("proc_ObtenerCategoriasIVAActivas");
            if (dt.Rows.Count == 0)
                return new ArrayList();

            ListadoCategoriasIVA = new ArrayList();
            foreach (DataRow dr in dt.Rows)
            {
                CategoriaIVA unaCategoria = CategoriaIVA.CategoriaExistente(Convert.ToInt32(dr["ID"].ToString()), dr["Nombre"].ToString(), Convert.ToBoolean(dr["Activo"].ToString()));
                ListadoCategoriasIVA.Add(unaCategoria);
            }

            return ListadoCategoriasIVA;
        }*/

        public static void Crear(Pago unPago, Int32 UsuarioLogueadoID)
        {
            Parametro[] ListadoParametros = new Parametro[6];
            ListadoParametros[0] = new Parametro("@intUsuarioID", UsuarioLogueadoID);
            ListadoParametros[1] = new Parametro("@intClienteID", unPago.Cliente.ID);
            ListadoParametros[2] = new Parametro("@fltMontoTotal", unPago.MontoTotal);
            ListadoParametros[3] = new Parametro("@fltMontoPagado", unPago.MontoPagado);
            ListadoParametros[4] = new Parametro("@dteFecha", unPago.Fecha);
            ListadoParametros[5] = new Parametro("@bitActivo", unPago.Activo);

            BaseDatos.Ejecutar("proc_InsertarPago", ListadoParametros);
        }

        public static void Modificar(Pago unPago, Int32 UsuarioLogueadoID)
        {
            Parametro[] ListadoParametros = new Parametro[7];
            ListadoParametros[0] = new Parametro("@intUsuarioID", UsuarioLogueadoID);
            ListadoParametros[1] = new Parametro("@intClienteID", unPago.Cliente.ID);
            ListadoParametros[2] = new Parametro("@fltMontoTotal", unPago.MontoTotal);
            ListadoParametros[3] = new Parametro("@fltMontoPagado", unPago.MontoPagado);
            ListadoParametros[4] = new Parametro("@dteFecha", unPago.Fecha);
            ListadoParametros[5] = new Parametro("@bitActivo", unPago.Activo);
            ListadoParametros[6] = new Parametro("@chvPagoID", unPago.ID);

            BaseDatos.Ejecutar("proc_ModificarPago", ListadoParametros);
        }
    }
}
